<HTML
><HEAD
><TITLE
>Configuring init to start 
getty: the 
/etc/inittab file</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.63
"><LINK
REL="HOME"
TITLE="The Linux System Administrator's Guide"
HREF="index.html"><LINK
REL="UP"
TITLE="init"
HREF="init.html"><LINK
REL="PREVIOUS"
TITLE="init comes first"
HREF="x2016.html"><LINK
REL="NEXT"
TITLE="Run levels"
HREF="x2111.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Linux System Administrator's Guide: Version 0.7</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="x2016.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 9. <B
CLASS="COMMAND"
>init</B
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="x2111.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="AEN2051"
>9.2. Configuring <B
CLASS="COMMAND"
>init</B
> to start 
<B
CLASS="COMMAND"
>getty</B
>: the 
<TT
CLASS="FILENAME"
>/etc/inittab</TT
> file</A
></H1
><P
>When it starts up, <B
CLASS="COMMAND"
>init</B
> reads the 
<TT
CLASS="FILENAME"
>/etc/inittab</TT
>
	configuration file. While the system is running, it will
	re-read it, if sent the HUP signal;
	
		<A
NAME="AEN2059"
HREF="#FTN.AEN2059"
>[1]</A
>
		
	this feature makes it unnecessary to boot the system to make
	changes to the <B
CLASS="COMMAND"
>init</B
> configuration take
	effect.</P
><P
>The <TT
CLASS="FILENAME"
>/etc/inittab</TT
> file is
	a bit complicated. We'll start with the simple case
	of configuring <B
CLASS="COMMAND"
>getty</B
> lines.	Lines in
	<TT
CLASS="FILENAME"
>/etc/inittab</TT
> consist of four colon-delimited
	fields:

<TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>id:runlevels:action:process</PRE
></FONT
></TD
></TR
></TABLE
>

	The fields are described below. In addition,
	<TT
CLASS="FILENAME"
>/etc/inittab</TT
> can contain empty lines, and
	lines that begin with a number sign (`<TT
CLASS="LITERAL"
>#</TT
>');
	these are both ignored.
	
	<DIV
CLASS="GLOSSLIST"
><DL
><DT
><B
>id</B
></DT
><DD
><P
>		This identifies the line in the file. For
		<B
CLASS="COMMAND"
>getty</B
> lines, it specifies the terminal
		it runs on (the characters after <TT
CLASS="FILENAME"
>/dev/tty</TT
>
		in the device file name). For other lines,
		it doesn't matter (except for length restrictions),
		but it should be unique.
		</P
></DD
><DT
><B
>runlevels</B
></DT
><DD
><P
>		The run levels the line should be considered
		for. The run levels are given as single digits,
		without delimiters. (Run levels are described
		in the next section.)
		</P
></DD
><DT
><B
>action</B
></DT
><DD
><P
>		What action should be taken by the line, e.g.,
		<TT
CLASS="LITERAL"
>respawn</TT
> to run the command in the
		next field again, when it exits, or <TT
CLASS="LITERAL"
>once</TT
>
		to run it just once.
		</P
></DD
><DT
><B
>process</B
></DT
><DD
><P
>		The command to run.
		</P
></DD
></DL
></DIV
>

	To start a <B
CLASS="COMMAND"
>getty</B
> on the first virtual terminal
	(<TT
CLASS="FILENAME"
>/dev/tty1</TT
>), in all the normal multi-user
	run levels (2-5), one would write the following line:

<TABLE
BORDER="1"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="SCREEN"
>1:2345:respawn:/sbin/getty 9600 tty1</PRE
></FONT
></TD
></TR
></TABLE
>

	The first field says that this is the line for 
<TT
CLASS="FILENAME"
>/dev/tty1</TT
>.
	The second field says that it applies to run levels 2, 3, 4,
	and 5. The third field means that the command should be run
	again, after it exits (so that one can log in, log out, and
	then log in again). The last field is the command that runs
	<B
CLASS="COMMAND"
>getty</B
> on the first virtual terminal.
	
		<A
NAME="AEN2096"
HREF="#FTN.AEN2096"
>[2]</A
>
	</P
><P
>If you wanted to add terminals or dial-in modem lines to a
	system, you'd add more lines to <TT
CLASS="FILENAME"
>/etc/inittab</TT
>,
	one for each terminal or dial-in line. For more details, see the
	manual pages <B
CLASS="COMMAND"
>init</B
>, <TT
CLASS="FILENAME"
>inittab</TT
>,
	and <B
CLASS="COMMAND"
>getty</B
>.</P
><P
>If a command fails when it starts,
	and <B
CLASS="COMMAND"
>init</B
> is configured to
	<TT
CLASS="LITERAL"
>restart</TT
> it, it will use a lot of
	system resources: <B
CLASS="COMMAND"
>init</B
> starts it,
	it fails, <B
CLASS="COMMAND"
>init</B
> starts it, it fails,
	<B
CLASS="COMMAND"
>init</B
> starts it, it fails, and so on, ad
	infinitum. To prevent this, <B
CLASS="COMMAND"
>init</B
> will keep
	track of how often it restarts a command, and if the frequency
	grows to high, it will delay for five minutes before restarting
	again.	</P
></DIV
><H3
CLASS="FOOTNOTES"
>Notes</H3
><TABLE
BORDER="0"
CLASS="FOOTNOTES"
WIDTH="100%"
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
WIDTH="5%"
><A
NAME="FTN.AEN2059"
HREF="x2051.html#AEN2059"
>[1]</A
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
WIDTH="95%"
><P
>Using the command <B
CLASS="COMMAND"
>kill -HUP
		1</B
> as root, for example </P
></TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
WIDTH="5%"
><A
NAME="FTN.AEN2096"
HREF="x2051.html#AEN2096"
>[2]</A
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
WIDTH="95%"
><P
>Different versions of
		<B
CLASS="COMMAND"
>getty</B
> are run differently. Consult
		your manual page, and make sure it is the correct
		manual page.</P
></TD
></TR
></TABLE
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="x2016.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="x2111.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><B
CLASS="COMMAND"
>init</B
> comes first</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="init.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Run levels</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>